草庐IT

scrapy -- CrawlSpider类

全部标签

python - 对于 scrapy/selenium 有没有办法返回到上一页?

我基本上有一个start_url,它有我的javascript搜索表单和按钮,因此需要selenium。我使用selenium在我的选择框对象中选择适当的项目,然后单击搜索按钮。接下来的页面,我做了一些scrapy魔术。但是,现在我想回到原来的start_url并填写一个不同的对象等,然后重复直到不再。基本上,我已经尝试制作一个for循环并试图让浏览器返回到原始response.url,但不知何故它崩溃了。我可能会尝试在顶部有一个重复的start_url列表,以便scrapy解析,但我不确定这是否是最好的方法。在我的情况下我能做什么? 最佳答案

python - Scrapy - 没有名为 mail.smtp 的模块

系统:Ubuntu14.04我使用命令sudopipinstallscrapy安装了scrapy。我正在学习位于here的教程.当我在this运行命令scrapycrawldmoz时步骤,我收到以下错误:2015-07-0415:28:58[scrapy]INFO:Scrapy1.0.1started(bot:tutorial)2015-07-0415:28:58[scrapy]INFO:Optionalfeaturesavailable:ssl,http112015-07-0415:28:58[scrapy]INFO:Overriddensettings:{'NEWSPIDER_MO

python - Scrapy crawl命令输出如何保存

我正在尝试保存我尝试过的scrapycrawl命令的输出scrapycrawlsomeSpider-osome.json-tjson>>some.text但它不起作用......有人能告诉我如何将输出保存到文本文件......我的意思是scrapy打印的日志和信息...... 最佳答案 您可以将这些行添加到您的settings.py:LOG_STDOUT=TrueLOG_FILE='/tmp/scrapy_output.txt'然后开始正常抓取:scrapycrawlsomeSpider

python - 安装 scrapy 时命令 'gcc' 失败,退出状态为 1 错误

当我想安装Scrapy时遇到这个错误:warning:nopreviously-includedfilesfoundmatching'*.py'Requirementalreadysatisfied(use--upgradetoupgrade):pyOpenSSLin/usr/local/lib/python2.7/site-packages/pyOpenSSL-0.14-py2.7.egg(fromScrapy)Requirementalreadysatisfied(use--upgradetoupgrade):cssselect>=0.9in/usr/local/lib/pytho

python - Django自定义管理命令运行Scrapy : How to include Scrapy's options?

我希望能够运行Scrapywebcrawlingframework从Django内部。Scrapy本身只提供了一个命令行工具scrapy来执行它的命令,即该工具并不是有意编写为从外部程序调用。用户MikhailKorobov想出了一个nicesolution,即从Django自定义管理命令调用Scrapy。为方便起见,我在这里重复他的解决方案:#-*-coding:utf-8-*-#myapp/management/commands/scrapy.pyfrom__future__importabsolute_importfromdjango.core.management.baseim

python - 将 Scrapy 代理中间件设置为根据每个请求轮换

这个问题必然有两种形式,因为我不知道更好的解决方案。我正在爬行的网站经常将我踢到重定向的“用户被阻止”页面,但频率(按请求/时间)似乎是随机的,而且它们似乎有一个黑名单阻止了我的许多“开放”代理列表通过Proxymesh使用。所以……当Scrapy收到对其请求的“重定向”时(例如DEBUG:从(GEThttp://.../page-544.htm)),它是继续尝试访问page-544.htm,还是继续访问page-545.htm并永远丢失page-544.htm?如果它“忘记”(或将其计为已访问),是否有办法告诉它继续重试该页面?(如果它自然而然地这样做,那么是的,很高兴知道...)什

python - 如何从 scrapy 响应中获取 cookie 并将 cookie 设置为下一个请求?

我已经禁用了默认的Scrapycookie选项,所以我必须手动设置它。COOKIES_ENABLED=FalseCOOKIES_DEBUG=True现在,我需要使用作为同一站点的响应接收到的值来设置cookie。我可以获得如下cookie,cookie=response.headers.getlist('Set-Cookie')[0].split(";")[0].split("=")现在我正在尝试将其设置为表单请求FormRequest.from_response(response,formdata={"username":"asldkfs","pass":"slskd"},cooki

python - Ruby 替代 Scrapy?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。有哪些基于Ruby的工具可以帮助我实现类似于Scrapy为python所做的事情?http://doc.scrapy.org/intro/overview.html

python - 了解 Scrapy 中的回调

我是Python和Scrapy的新手。我以前没有使用过回调函数。但是,我现在为下面的代码做。第一个请求将被执行,其响应将被发送到定义为第二个参数的回调函数:defparse_page1(self,response):item=MyItem()item['main_url']=response.urlrequest=Request("http://www.example.com/some_page.html",callback=self.parse_page2)request.meta['item']=itemreturnrequestdefparse_page2(self,respon

python - 为什么我的 Scrapy CrawlSpider 规则不起作用?

我已经成功地使用Scrapy编写了一个非常简单的爬虫,具有这些给定的约束:存储所有链接信息(例如:anchor文本、页面标题),因此有2个回调使用CrawlSpider来利用规则,因此没有BaseSpider它运行良好,除了如果我向第一个请求添加回调它不会执行规则!这是我的代码:(有效但不正确,有一个实例)fromscrapy.contrib.spidersimportCrawlSpider,Rulefromscrapy.selectorimportHtmlXPathSelectorfromscrapy.httpimportRequestfromscrapySpider.itemsim